package finbudget.client.lists;

import com.gwtplatform.dispatch.shared.ActionException;

import finbudget.client.invoices.ListInvoiceCategories;

public interface ListTypeVisitor {

	GetListOfItemsResult getList(MappedListType type, GetListOfItemsAction action) throws ActionException;
	GetListOfItemsResult getList(CompositeListType type, GetListOfItemsAction action) throws ActionException;
	GetListOfItemsResult getList(ListTypeWithProperties type, GetListOfItemsAction action) throws ActionException;
	GetListOfItemsResult getList(ListInvoiceCategories type, GetListOfItemsAction action) throws ActionException;
	GetListOfItemsResult getList(ListAccounts type, GetListOfItemsAction action) throws ActionException;
	GetListOfItemsResult getList(ListOperators type, GetListOfItemsAction action) throws ActionException;
	GetListOfItemsResult getList(ListScenarios type, GetListOfItemsAction action) throws ActionException;
	GetListOfItemsResult getList(ListAllScenarios type, GetListOfItemsAction action) throws ActionException;
	GetListOfItemsResult getList(ListCurrencies type, GetListOfItemsAction action) throws ActionException;
	GetListOfItemsResult getList(ListExchangeAuthorities type, GetListOfItemsAction action) throws ActionException;
	GetListOfItemsResult getList(ListAnalytics type, GetListOfItemsAction action) throws ActionException;
	GetListOfItemsResult getList(ListBalanceSectionType type, GetListOfItemsAction action) throws ActionException;
	GetListOfItemsResult getList(ListBalanceSections type, GetListOfItemsAction action) throws ActionException;
	GetListOfItemsResult getList(ListAllContractors type, GetListOfItemsAction action) throws ActionException;
	GetListOfItemsResult getList(ListAllBudgetItems type, GetListOfItemsAction action) throws ActionException;
	GetListOfItemsResult getList(ListAllProjects type, GetListOfItemsAction action) throws ActionException;
	GetListOfItemsResult getList(ListBudgetItems type, GetListOfItemsAction action) throws ActionException;
	GetListOfItemsResult getList(ListContractors type, GetListOfItemsAction action) throws ActionException;
	GetListOfItemsResult getList(ListProjects type, GetListOfItemsAction action) throws ActionException;
	GetListOfItemsResult getList(ListPeriods type, GetListOfItemsAction action) throws ActionException;
	GetListOfItemsResult getList(ListAllPeriods type, GetListOfItemsAction action) throws ActionException;
	GetListOfItemsResult getList(ListBalanceItems type, GetListOfItemsAction action) throws ActionException;
	GetListOfItemsResult getList(ListContractorType type, GetListOfItemsAction action) throws ActionException;
	GetListOfItemsResult getList(ListOwnCompanies type, GetListOfItemsAction action) throws ActionException;
	GetListOfItemsResult getList(ListFunds type, GetListOfItemsAction action) throws ActionException;
	GetListOfItemsResult getList(IndexedListWithFilter type, GetListOfItemsAction action) throws ActionException;
	GetListOfItemsResult getList(ListAutoImportSchemas type, GetListOfItemsAction action) throws ActionException;
	GetListOfItemsResult getList(ListSavedReportRequests type, GetListOfItemsAction action) throws ActionException;
	GetListOfItemsResult getList(ListDocuments type, GetListOfItemsAction action) throws ActionException;
	GetListOfItemsResult getList(ListEmpty type, GetListOfItemsAction action);
	GetListOfItemsResult getList(ListNamedLines type, GetListOfItemsAction action) throws ActionException;
	GetListOfItemsResult getList(ListPredefined type, GetListOfItemsAction action);
	GetListOfItemsResult getList(ListWarehouseAnalytics type, GetListOfItemsAction action) throws ActionException;
	GetListOfItemsResult getList(ListOfTemplateTypes type, GetListOfItemsAction action) throws ActionException;

}
